package com.wql.study;
//package com.wql.mybatis.study;
//
//import java.lang.reflect.Method;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.method.HandlerMethod;
//import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
//
//import com.cool.app.annotation.ApiDescription;
//import com.cool.app.domain.SysConfigure;
//import com.cool.app.service.SysConfigureService;
//import com.cool.app.util.ConstantUtil;
//
///**
// * @author wuqinglong
// * @date 2014年10月21日 下午5:26:27
// */
//public class TableDataNotExpireInterceptor extends HandlerInterceptorAdapter {
//	@Autowired
//	private SysConfigureService sysConfigureService;
//
//	@Override
//	// 判断数据是否是新的，如果是新的，则直接返回304状态
//	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//		boolean flag = true;
//		Method method = ((HandlerMethod) handler).getMethod();
//		ApiDescription apiDescription = (ApiDescription) method.getAnnotation(ApiDescription.class);
//		if (null == apiDescription) {
//			return flag;
//		}
//		String tableName = apiDescription.tableName();
//		if (null != tableName && tableName.length() > 0) {
//			String tableDataType = getTableDataType(tableName);
//			if (tableDataType.length() < 1)
//				return flag;
//			request.setAttribute(ConstantUtil.TABLEDATANOTEXPIRE_ATTR, tableDataType);
//			if (tableDataType.equalsIgnoreCase(request.getParameter(ConstantUtil.TABLEDATANOTEXPIRE_REQ_ATTR))) {
//				flag = false;
//				response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
//			}
//		}
//		return flag;
//	}
//
//	private String getTableDataType(String tableName) {
//		SysConfigure scf = new SysConfigure();
//		scf.setName(tableName);
//		scf.setStatus(ConstantUtil.ENABLED);
//		scf.setType(ConstantUtil.CONFIGURETYPE.DATAISNOW.getType());
//		scf = sysConfigureService.getSysConfigureList(scf).get(0);
//		return null != scf ? scf.getValue() : "";
//	}
//
//}
